﻿using System;

namespace Microsoft.Services.Clab.UI.Mvvmc
{
    public interface IControllerFactory
    {
        void CreateController(string logicalName, object initParameters = null, IController parentController = null, Action<IController> onCreatingAction = null, Action<IController> onCreatedAction = null, Action<IController> onInitializedAction = null, Action<Exception> onException = null);
        void CreateControllerSync(string logicalName, object initParameters = null, IController parentController = null, Action<IController> onCreatingAction = null, Action<IController> onCreatedAction = null, Action<IController> onInitializedAction = null, Action<Exception> onException = null);
    }
}